package com.laoye.mapper;

import com.laoye.bean.Admin;
import com.laoye.dto.*;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface AdminMapper {

    List<Admin_UserInfo> getAdmins(@Param("queryType") String queryType,
                                   @Param("keyword") String keyword); //获取所有管理员信息


    List<Admin_UserInfo> getUserInfo(@Param("queryType") String queryType,
                                     @Param("keyword") String keyword,
                                     @Param("is_deleted") Integer is_deleted);//获取用户列表



    @Select("select *from admin where username=#{login.username} ")
    Admin login(@Param("login") LoginDTO loginDTO);  //管理员登录

    @Update("update user set is_deleted=1 where id=#{id} ")
    void deleteUser(@Param("id") Integer id);   //用户删除，软删除

    @Update("update user set is_deleted=0 where id=#{id}")
    void updateUser(@Param("id") Integer id);  //取消删除用户

    @Update("update admin set phone=#{userInfo.phone},nickname=#{userInfo.nickname},email=#{userInfo.email} where id=#{userInfo.id}")
    void editAdmin(@Param("userInfo") UserEditDTO userInfo);  //修改管理员信息

    @Select("select username from admin where id=#{id} ")
    String findAdminName(@Param("id") Integer id);  //根据id查找其他用户


    @Update("update admin set password=#{pwdEditDTO.newPassword} where id=#{pwdEditDTO.id}")
    void updatePassword(@Param("pwdEditDTO") PwdEditDTO pwdEditDTO); //修改密码


    @Update("update admin set avatar_url= #{file} where id= #{id}")
    void updateAvatar(@Param("file") String file, @Param("id") Integer id);  //更新头像

    @Select("select avatar_url from admin where id= #{id}")
    String getAvatarUrl(@Param("id") Integer id);   //获取头像

    //获取管理员邮箱,像邮箱发送邮件告诉用户发生的事件
    @Select("select email from admin where id=#{id}")
    String getEmail(@Param("id") Integer id);

    @Select("select * from admin where id=#{id}")
    Admin getAdminById(@Param("id") Integer id);
}
